/**
 * Project Name:zyhj-admin
 * File Name:CommonService.java
 * Package Name:com.vviton.zyhj.admin.service
 * Date:2016年11月16日上午10:10:16
 *
 */

package com.vviton.zyhj.admin.service;

import java.util.List;

import com.vviton.zyhj.admin.view.ViewRootMenu;
import com.vviton.zyhj.common.entity.TYyxtCode;
import com.vviton.zyhj.common.entity.TYyxtCpglLmb;
import com.vviton.zyhj.common.utils.ResultJson;
import com.vviton.zyhj.common.view.ParamUpload;
import com.vviton.zyhj.common.view.ViewCpglLmb;
import com.wdcloud.framework.core.log.annotation.MonitorLog;
import com.wdcloud.framework.core.log.entity.MonitorLogInfo;

/**
 * ClassName:CommonService <br/>
 * Function: 公共接口定义. <br/>
 * Date: 2016年11月16日 上午10:10:16 <br/>
 *
 * @author huangqq
 * @version 1.0
 * @since JDK 1.7
 */
public interface CommonService {

	/**
	 * getLmxxList,获取礼品类目. <br/>
	 * Author: huangqq <br/>
	 * Create Date: 2016年11月16日 <br/>
	 * ===============================================================<br/>
	 * Modifier: huangqq <br/>
	 * Modify Date: 2016年11月16日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param lmb
	 *            类目信息
	 * @return 类目集合
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "礼品类目获取Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	List<ViewCpglLmb> getLmxxList(TYyxtCpglLmb lmb);

	/**
	 *
	 * getCodeListByCodeClass,(根据codeClass取码表数据). <br/>
	 * Author: nifang <br/>
	 * Create Date: 2016年11月16日 <br/>
	 * ===============================================================<br/>
	 * Modifier: nifang <br/>
	 * Modify Date: 2016年11月16日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param codeClass
	 *            代码
	 * @return 码表数据
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "根据codeClass取码表数据Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	List<TYyxtCode> getCodeListByCodeClass(String codeClass);

	/**
	 *
	 * getCyfxxToCodeList,(获取转换成码表结构的承运方信息列表). <br/>
	 * Author: nifang <br/>
	 * Create Date: 2016年11月3日 <br/>
	 * ===============================================================<br/>
	 * Modifier: nifang <br/>
	 * Modify Date: 2016年11月3日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param shfs
	 *            送货方式
	 * @return 转换成码表结构的承运方信息列表
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "获取转换成码表结构的承运方信息列表Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	List<TYyxtCode> getCyfxxToCodeList(String shfs);

	/**
	 * checkLogoUrl,校验logo图片地址有效性. <br/>
	 * Author: yaojie <br/>
	 * Create Date: 2016年8月19日 <br/>
	 * ===============================================================<br/>
	 * Modifier: yaojie <br/>
	 * Modify Date: 2016年8月19日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param logoUrl
	 *            logo地址
	 * @return 地址是否有效
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "校验logo图片地址有效性", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	ResultJson checkLogoUrl(String logoUrl);

	/**
	 * uploadLogo,根据课堂id上传图片logo. <br/>
	 * Author: wanrj <br/>
	 * Create Date: 2016年2月2日 <br/>
	 * ===============================================================<br/>
	 * Modifier: huangqq <br/>
	 * Modify Date: 2016年2月2日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param paramUpload
	 *            上传参数包含 (ktid 课堂id,path 图片路径,x x坐标,y y坐标, w 宽度 )
	 * @return ResultJson
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "根据课堂id上传图片Service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	ResultJson uploadLogo(ParamUpload paramUpload);

	/**
	 * getDqdmList,获取地区代码集合. <br/>
	 * Author: huangqq <br/>
	 * Create Date: 2016年4月20日 <br/>
	 * ===============================================================<br/>
	 * Modifier: huangqq <br/>
	 * Modify Date: 2016年4月20日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param lang
	 *            语言
	 * @return 地区代码集合
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "地区代码service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	List<TYyxtCode> getDqdmList(String lang);

	/**
	 * getZhlxList,获取账号类型service. <br/>
	 * Author: yaojie <br/>
	 * Create Date: 2016年4月29日 <br/>
	 * ===============================================================<br/>
	 * Modifier: yaojie <br/>
	 * Modify Date: 2016年4月29日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param lang
	 *            语言
	 * @return 账号类型集合
	 * @since JDK 1.7
	 */
	@MonitorLog(text = "获取账号类型service", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
	List<TYyxtCode> getZhlxList(String lang);

	/**
	 * getXwList,获取行为集合. <br/>
	 * Author: huangqq <br/>
	 * Create Date: 2016年4月20日 <br/>
	 * ===============================================================<br/>
	 * Modifier: huangqq <br/>
	 * Modify Date: 2016年4月20日 <br/>
	 * Modify Description: <br/>
	 * ===============================================================<br/>
	 *
	 * @param lang
	 *            语言
	 * @return 行为集合
	 * @since JDK 1.7
	 */

	List<TYyxtCode> getXwList(String lang);
	
    /**
    *
    * getMenu,(获取登录用户菜单). <br/>
    * Author: zhijian.zhang <br/>
    * Create Date: 2017年3月22日 <br/>
    * ===============================================================<br/>
    * Modifier: zhijian.zhang <br/>
    * Modify Date: 2017年3月22日 <br/>
    * Modify Description: <br/>
    * ===============================================================<br/>
    *
    * @param userid 用户id
    * @return ViewRootMenu
    * @since JDK 1.7
    */
	@MonitorLog(text = "获取登录用户菜单service.", type = MonitorLogInfo.METHOD_TYPE_SERVICE)
    ViewRootMenu getMenu(String userid);
}
